<!DOCTYPE html>
<html lang="zh-cn">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">




<title>动画9条原则 | Miles`s</title>

<link rel="stylesheet" href="https://mada.gitee.io/notes//css/styles.css">

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" 
integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>


<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/zenburn.min.css" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js" integrity="sha256-/BfiIkHlHoVihZdc6TFuj7MmJ0TWcWsMXkeDFwhi0zw=" crossorigin="anonymous"></script>
<script>hljs.initHighlightingOnLoad();</script>
<script src="https://mada.gitee.io/notes//js/highlight.js"></script>






<div class="container">
    <nav class="navbar level">
      <div class="navbar-brand">
          <a class="nav-item" href="https://mada.gitee.io/notes/"><h1 class="title is-3">Miles`s</h1></a>
      </div>           
      <div class="navbar-menu has-text-centered is-active">
          <div class="navbar-end is-centered">
              
           </div>
      </div>
    </nav>
  </div>
<div class="container">
  <h2 class="subtitle is-6">December 21, 2016</h2>
  <h1 class="subtitle is-size-4-mobile is-size-3-desktop">动画9条原则</h1>
  <div class="content">
    

<p>7种动效，9条原则。</p>

<h2 id="视觉反馈">视觉反馈</h2>

<p>对于任何用户界面来讲，视觉反馈都是至关重要的。在现实生活中，人们和任何物体的交互都是伴随着回应的。</p>

<p>同样地，人们期待从APP元素中得到一个类似的效果。App给的视觉，听觉及触觉反馈，使用户感到他们在操控APP。同时视觉反馈有个更简单的用途：它暗示着您的APP运行正常。当一个按钮在放大或者一个被滑动图像在朝着正确方向移动，那么很明显，这个APP在运行着呢，在回应着用户的操作。下面的例子显示，当用户点击屏幕以示完成任务时，包含有数据的方块就缩小并且变成了绿色。</p>

<p><img src="../../images/animate/e1.gif" alt="" /></p>

<p>Tinder中使用的左划喜欢右划跳过被大家所熟知，而这种交互方式同样也是一种视觉反馈。这个动画效果已经被我们实现出来放在开源库Koloda中了。</p>

<p><img src="../../images/animate/e11.gif" alt="" /></p>

<h2 id="功能改变">功能改变</h2>

<p>这种动效展示出元素在与用户进行交互的时候，是如何发生变化的。当您想要阐明一个元素功能如何变化时，这种动效是最好的选择。它经常与按钮，图标和其它小设计元素一起使用。</p>

<p>从第一个例子中您可以看到一个图标从汉堡菜单变成了“X”状，以表示按钮的功能其实已经发生了改变。</p>

<p><img src="../../images/animate/e2.gif" alt="" /></p>

<p>第二个例子中，图标随着内容的变化而变化：</p>

<p><img src="../../images/animate/e22.gif" alt="" /></p>

<h2 id="空间扩展">空间扩展</h2>

<p>大部分的移动APP都有非常复杂的结构，所以设计师的的工作就是尽可能地简化APP的导航。对于这项任务来讲，动效是极其有帮助的。如果您的动效展示出了元素被藏在哪里，那么用户下次找起来就会很容易了。第一个例子中，我们看到导航栏的菜单，当用户点击按钮时，它颠倒过来了：</p>

<p><img src="../../images/animate/e3.gif" alt="" /></p>

<p>下面这个例子中，我们可以看到更多选项是如何从屏幕底部出现的，这也改进了用户进行选择的流程：</p>

<p><img src="../../images/animate/e33.gif" alt="" /></p>

<h2 id="元素的层次结构及其交互">元素的层次结构及其交互</h2>

<p>动效完美地描述了界面的各个部分并且阐明了它们之间是如何进行交互的。动效中每个元素都有其目的和定位。比如，一个按钮可以激活弹出菜单，那么此菜单最好从按钮弹出而不是从屏幕侧面滑出来：这样就会给用户显示按下按钮的回应，帮助用户理解这两个元素（按钮和弹出菜单）是有联系的。</p>

<p>所有动效都应该阐释元素之间是如何联系的。这种层次结构和元素的互动对于一个直观的界面来讲是非常重要的。下面第一个例子显示当按钮被点击后菜单栏出现，并且在用户的眼里，菜单栏和按钮本质上是同样的元素，只是变大了：</p>

<p><img src="../../images/animate/e4.gif" alt="" /></p>

<p>第二个例子中，一张包含信息的卡片在用户点击了之后变大，让用户知道这是同一个元素，唯一的不同是尺寸：</p>

<p><img src="../../images/animate/e44.gif" alt="" /></p>

<h2 id="视觉提示">视觉提示</h2>

<p>动效暗示如何与元素进行交互。当一款APP的元素间有不可预估的互动模式时，动效提供视觉线索就十分必要了。在这个例子中，当用户打开一个博文系列时，带有文章的卡片就从屏幕的右侧出现，用户就可以知道要水平地滑动来浏览这些卡片：</p>

<p><img src="../../images/animate/e5.gif" alt="" /></p>

<p>第二个例子中，用了同样的方法，只是运用到了社交图标上：</p>

<p><img src="../../images/animate/e55.gif" alt="" /></p>

<h2 id="系统状态">系统状态</h2>

<p>在您的APP中，总有那么几个进程在后台运行着：从服务器下载数据，进行计算等。您的任务就是让用户知道APP并没有停止运行或者崩溃掉，要让用户知道APP在工作着。通过App表现出来的视觉符号的进展给用户一种控制感。理想状态下，APP中的每个进程都应该被一个独立的动效所伴随。比如，当音频录制正在进行，屏幕可能要显示一条波动的音频轨道。实时声波动效就可以显示出声音的大小。</p>

<p><img src="../../images/animate/e6.gif" alt="" /></p>

<p>这种动效最常见的一种类型就是下拉刷新动效：</p>

<p><img src="../../images/animate/e66.gif" alt="" /></p>

<h2 id="有趣的动效">有趣的动效</h2>

<p>有趣的动效可以画龙点睛也可以画虎类犬。它们通常都没有什么意义，而且会让开发的工作变得异常复杂。但一个非常独特的动效就可能很吸引用户并且让您的APP脱颖而出。这是设计师让用户爱上他们产品的一个秘密武器。独特的动效可以助您创立一个识别度高的品牌。</p>

<p>在我们的例子中，移动的圆圈看起来非常别致并且很吸引人的注意力。沿着屏幕移动的这种效果能够带来愉悦感和游戏感，简单并且有趣。</p>

<p><img src="../../images/animate/e7.gif" alt="" /></p>

<p>我也非常确信下拉刷新的动效如果做成正在煮菜的锅，会给人耳目一新的感受：</p>

<p><img src="../../images/animate/e77.gif" alt="" /></p>

<p>在制作有趣的动效时要注意两点：</p>

<p>1）一定保证动效不会遮盖或者隐藏APP的功能；</p>

<p>2）一定不能耗时间。</p>

<h1 id="设计的主要原则">设计的主要原则</h1>

<h2 id="1-材质">1. 材质</h2>

<p>给用户展示界面元素是由什么构成的：轻盈的还是笨重的？死板的还是灵活的？平面的还是多维度的？你需要让用户对界面元素的交互模式有个基本的感觉。</p>

<p><img src="../../images/animate/1.gif" alt="" /></p>

<h2 id="2-运动轨迹">2. 运动轨迹</h2>

<p>你需要阐明运动的自然属性。一般原则显示没有生命的机械物体的运动轨迹通常都是直线，而有生命的物体拥有更为复杂和非直线性的运动轨迹。您要决定您的UI要给用户呈现的什么样的印象，并且将这种属性赋予它。</p>

<p><img src="../../images/animate/2.gif" alt="" /></p>

<h2 id="3-时间">3. 时间</h2>

<p>在设计动效时，时间是最有争议的和最重要的考虑之一。在现实世界中，物体并不遵守直线运动规则因为它们需要时间来加速或者减速，使用曲线运动规则会让元素的移动变得更加自然。</p>

<p><img src="../../images/animate/3.gif" alt="" /></p>

<h2 id="4-聚焦动效">4. 聚焦动效</h2>

<p>要集中注意力于屏幕的某一特定区域。例如，闪烁的图标就会吸引用户的注意，用户会知道那有个提醒并去点击。这种动效常用于有太多细节和元素从而无法将特殊元素区别化的界面中。</p>

<p><img src="../../images/animate/4.gif" alt="" /></p>

<h2 id="5-跟随和重叠">5. 跟随和重叠</h2>

<p>跟随是一个动作的终止部分。物体不会迅速地停止或者开始移动，每个运动都可以被拆解为每个部分按照各自速率移动的细小动作。例如，当您扔个球，在球出手后，您的手也依然在移动。</p>

<p><img src="../../images/animate/5.gif" alt="" /></p>

<p>重叠意味着在第一个动作结束前开始的第二个动作，这样可以吸引用户的注意力，因为两个动作之间并没有一段静止期</p>

<h2 id="6-次要动效">6. 次要动效</h2>

<p>次要动效原则类似于跟随和重叠原则。简要地讲，主要动效可被次要动效伴随。次要动效使画面更加生动，但如果一不小心就会引起用户不必要的分神。</p>

<p><img src="../../images/animate/6.gif" alt="" /></p>

<h2 id="7-缓入和缓出">7. 缓入和缓出</h2>

<p>缓入/缓出是设计的基础原则，尤其是在移动开发UI动效，和普通的动画制作中同等重要。虽然易于理解，但此原则却常常容易被忽略。缓入/缓出原则是来自于现实世界中物体不可能立刻开始或者立刻停止运动的事实。任何物体都需要一定的时间用来加速或者减速。当你使用缓入/缓出原则来设计动效时，将会导出非常真实的运动模式。</p>

<p><img src="../../images/animate/7.gif" alt="" /></p>

<h2 id="8-预期">8. 预期</h2>

<p>预期原则适用于提示性视觉元素。在动效展现之前，我们给用户点时间让他们预测一些要发生的事情。完成预期其中一种方法就是使用我们上述的缓入原则。物体朝特定方向移动也可以给出预期视觉提示：例如，一叠卡片出现在屏幕上，你可以让这叠卡片最上面的一张卡倾斜，那么用户就可以推测出这些卡片可以移动。</p>

<p><img src="../../images/animate/8.gif" alt="" /></p>

<h2 id="9-韵律">9. 韵律</h2>

<p>动效中的韵律和音乐与舞蹈中的韵律有着同样的功能；它使动效结构化。使用韵律可以使动效更加自然。</p>

<p><img src="../../images/animate/9.gif" alt="" /></p>

<h2 id="10-夸张">10. 夸张</h2>

<p>夸张的表现方法常常会被用到，但它并不是那么容易被阐释，因为它是基于被夸张化的预期动作或效果。它可以帮助吸引额外的注意力到特殊元素上。</p>

<p><img src="../../images/animate/10.gif" alt="" /></p>

<p>补充：</p>

<ol>
<li><p>记住谁是您的目标用户，并且设计您的原型方案去解决他们的问题；</p></li>

<li><p>请确保您的动效的每个元素都具有其背后的基本原因（为什么是这样？为什么会是如此？为什么这个时间点？）；</p></li>

<li><p>为了使您的产品有特色，努力模仿自然界的运动模式来创造自然的动效；</p></li>

<li><p>在项目的任何阶段，都要随时与开发人员保持沟通；</p></li>
</ol>

  </div>
</div>
<div class="container has-text-centered">
    
</div>

<div class="container has-text-centered">
  
</div>
<section class="section">
  <div class="container has-text-centered">
    <p></p>
  </div>
</section>


